package com.ktjy.service;

import com.ktjy.dto.WorkFlowDTO;
import com.ktjy.pojo.TbActivity;
import com.ktjy.utils.PageUtil;
import com.ktjy.vo.ActCommentEntity;

import java.util.List;

public interface IWorkFlowService {
    /**
     * 启动流程(启动流程有两种方式)：
     * 一可以通过流程定义ID，即startProcessInstanceById()。
     * 二可以通过流程定义KEY，即startProcessInstanceByKey()
     * @param processDefinitionKey 流程定义key，即act_re_procdef流程定义表中的KEY_列的值
     * @param id 业务id
     */
    public void startProcess(String processDefinitionKey,Integer id);

    /**
     * 查询当前登录用户的待办任务
     * @param workFlowDTO
     * @param pageNo
     * @param pageSize
     * @return
     */
    public PageUtil findTask(WorkFlowDTO workFlowDTO, Integer pageNo, Integer pageSize) ;

    /**
     * 根据任务ID查询请假单的信息
     * @param taskId
     * @return
     */
    public TbActivity findActivityByTaskId(String taskId);

    /**
     * 根据任务ID查询批注信息
     * @param taskId
     * @return
     */
    public List<ActCommentEntity> findCommentByTaskId(String taskId);

    /**
     * 完成任务
     * @param workFlowDTO
     */
    public void completeTask(WorkFlowDTO workFlowDTO);
}
